The invention relates to sliding-window flow control using an adjustable window size on a non-transparent data connection whose nominal data transmission rate may vary during the connection.
In non-transparent asynchronous data transmission on a circuit-switched connection, data is transmitted from a transmitting party A to a receiving party B in frames or xe2x80x9cpacketsxe2x80x9d. Besides actual user data, the frames comprise both error-detecting and error-correcting bits to enable the receiving party to detect and possibly correct transmission errors. Each frame is also numbered or the order of the frames is indicated by means of another kind of identifier. The correctness of each received frame is tested at the receiving end. If the frame is found correct, the receiving party acknowledges receipt by transmitting the frame number. If a frame is not found correct (eg due to a transmission error), it will not be further processed (but is xe2x80x9cdiscardedxe2x80x9d). A negative acknowledgement (eg a retransmission request) is sent for example in case of discontinuity in frame numbering. Let us assume that a correct frame numbering is, for example 1,2,3,4,5. However, if frame 3 is followed by frame 5, frame 4 is missing and a negative acknowledgement will be sent for frame 4. Once the transmitting end receives a negative acknowledgement or no acknowledgement at all, it retransmits the frame a predetermined number of times. The total number of repetitions is limited, so that endless transmission loops are avoided in a very bad connection.
On such a connection user data throughput varies with the quality of the connection. Deterioration in the quality of the connection results in an increase in the number of incorrect and lost frames, and consequently the number of repetitions.
Moreover, the frames have to be stored (buffered) at the transmitting end until they have been acknowledged so that they are available should retransmission be needed. To limit the amount of necessary buffering, a flow control protocol based on a sliding window may be used in the acknowledgement. In accordance with the flow control protocol the transmitting party A may send a plurality of data frames before requiring acknowledgement from the receiving party. A window represents a sliding sequence of successive frames that have been sent but have not yet been acknowledged (a transmission window). The maximum number of unacknowledged frames equals window size WS. Party B is also prepared to receive WS frames in a reception window, which is a sliding sequence of successive frames that may be acceptably received. The frames that fit into said window but have not arrived in the correct order are gathered into the reception window. Let us assume that frames 1,2,5,6,7 are received. After frames 1 and 2 the window is slid forward, whereas 5, 6 and 7 are stored in the reception window where they wait for the missing frames 3 and 4. Once frames 3 and 4 arrive, the reception window is slid over 3,4,5,6 and 7. When the receiving end acknowledges one or more frames, the reception and transmission windows are slid forward a corresponding number of frames. By means of a sliding window the nominal data transmission capacity of a transmission channel may be better utilized and a higher throughput may be achieved than in a case when the transmitting end A does not send a new frame until it has received an acknowledgement of the previous frame from the receiving end.
An example of data transmission according to the above type is non-transparent asynchronous data transmission on a circuit-switched connection in the European digital mobile communication system GSM. Herein the sliding-window flow control is Radio Link Protocol RLP in accordance with the GSM specification 04.22. The maximum size of a window is 61 frames, which is also the default value at the beginning of the connection. At the beginning of the connection, by negotiation between the transmitting and receiving parties, the window size may be reduced to a lower value between 1 and 61 to avoid overflows in the transmitting or receiving buffers.
When the nominal data transmission capacity changes, usually leading to a change in the throughput, it is sometimes preferable to change window size WS so that the frame transmission policy is adapted to the new situation. Usually there is no way of knowing in advance when such a change in data transmission capacity will occur. Once the unexpected change has occurred, the transmitting and receiving parties may base their decisions regarding the new situation on eg interpretation of time supervision, requested retransmissions and Receive Not Ready (RNR) messages, as these may be different in the new situation. Such an approach where reaction takes place after a change has occurred, may lead to temporary data flow congestion or to inefficient use of transmission capacity; problems that may not be eliminated until window size WS has been readjusted to comply with the new situation.
The most significant factor limiting transmission capacity in mobile communication systems is the traffic channel at the radio interface. Eg the GSM system cannot at present support user data transmission rates higher than 9.6 kbits/s, which is the maximum user data transmission rate for one full-speed GSM traffic channel.
One solution that enables also higher user data transmission rates in mobile communication systems is disclosed in the applicant""s copending Finnish Patent Applications 942190 and 945817 (unpublished on the priority date of the present application). Herein two or more parallel traffic channels (subchannels) on the radio path are allocated for one high-speed data connection. A high-speed data signal is divided into these parallel subchannels at the transmitting end for transmission over the radio path, and reassembled at the receiving end. This allows the offering of data transmission services where the transmission rate may be even eightfold, depending on the number of allocated traffic channels, compared with the transmission rate of the conventional (single-channel) transmission rate. In the GSM system, for instance, a total user data transmission rate of 19.2 kbits/s is achieved by two parallel subchannels each supporting rate-adapted 9.6 kbits/s as in the existing non-transparent 9.6 kbits/s bearer services of the GSM system.
Consequently, a non-transparent circuit-switched data connection may comprise a plurality of parallel traffic channels at the radio interface, and the number of traffic channels may vary during the connection. The above described problems with adjusting the window size as the nominal data transmission capacity changes, are especially obvious in this kind of multi-channel system where the transmission capacity may even double or increase many-fold in an instant. That is, although the nominal transmission capacity increases, the additional capacity cannot effectively be utilized, at least not without a significant delay, unless the window size is correspondingly increased as soon as possible.
The object of the invention is to alleviate or eliminate the above problems.
This is achieved with a digital data transmission system comprising a transmitting party, a receiving party, a non-transparent circuit-switched data connection between the transmitting and receiving parties, control means for changing the data transmission capacity of the data connection, and a sliding-window data flow control protocol where the number of transmitted data frames to which the transmitting party has not received an acknowledgement from the receiving party is not allowed to exceed the size of said sliding window,
A unit in a data transmission system using sliding-window data flow control with an adjustable window size in accordance with the invention, and changing the nominal data transmission capacity (data transmission rate) of a non-transparent data connection, notifies the change to the transmitting party A or the receiving party B or both. By means of this information the receiving and transmitting parties can change the size of the sliding window in a controlled manner. Both parties A and B may adjust the window size independently, in accordance with predetermined rules, or they may start negotiating about the window size. The invention makes it possible to respond to a change in the nominal data transmission capacity simultaneously as the change takes place, and thus the problems, such as temporary congestion of data flow or inefficient utilization of capacity, associated with prior art solutions may be eliminated or alleviated. This is valid for both unidirectional and bidirectional data transmission where both parties can send and receive data.